Fastcall - BETA2

1. Changes from BETA1:

  - 'extern' macro is deprecated: now, 'ext proto' has a mechanism to add functions to a import list on demand, allowing creation of reusable headers, like stdio.inc, gtk3.inc, etc.:

      ext proto snprintf, qword, qword, qword, vararg   ; This is enough for the function to be imported when needed
                                                        ; only, not generating any extra space when not used.


  - extern data is now declared as:

      ext data stdin, stdout, stderr, ...

      The 'ext data' statement is mandatory, and it actually wraps to 'extern', which is now a macro used internally to parse imported data variables (like the ones in the above example) from external libraries. Don't rely on 'extern' keyword anymore, because it probably be removed in future implementations.

  - added 'alias' macro, so, functions prototyped that has ugly names can now be embellished with a more friendly name:

      ext proto __errno_location, none
      alias errno, __errno_location      ; aliasing '__errno_location' as 'errno'
      ; ...
      ; (somewhere within your code)
      errno();      ; <- This now resolves as 'call __errno_location'

    'alias' do not purge old definitions, so, you also be able to use '__errno_location();' at the example above.

  - because of the reuse of 'extern' macro, this include file is not compatible with BETA1. Anything that is provided as example there need to be modified to fit BETA2 include file. Examples at BETA2 are provided, some of them being the modified version of the previous ones.

  - Anything else is the same, as far as I remember.

2. I hope you have fun with, as much as I have doing it (and see it working properly).

